have a weakness for (something)

Translations
avoir un faible pour (quelque chose)
Definitions
To have a strong liking or affection for something, often to the point of being unable to resist it, even if it may not be good for one.